banner
Fei_xiangShi

FXLOG

你在这里发现了我, 说明了什么呢?

CTF 工具收集

为什么没有人做 CTF 工具大全这种好东西?感觉入门要想成为脚本小子得知道能用哪些脚本吧... 不管怎么说,飞飞想整理一下这类东西,结构大概是分类 - 名称 - 介绍 & 用法示例

只是咱喜欢的工具哦,咱更喜欢用 Linux 呢,所以部分转译跑不了或者性能很低的咱就不列了,广为人知的工具像 BurpSuite 这种咱也不列了

写了一点发现原来随波逐流软件站给了一些工具,那咱就帮他整合一下

编解码#

随波逐流#

一键解码,下载地址: 官网

不过这个居然要联网检查更新,赛博洁癖犯了,哪天给他破解了
用 Bottles 使用 exe 体验也很糟糕,差评

XXencode#

在线一键解码工具,有些线下赛禁止联网,还是只能用随波逐流了 (呕)
点击访问

Crypto#

这个主要是数学问题吧,用到的都是一些 python 的库

gmpy2#

高精度高效率大数运算库

pip install gmpy2

PWN#

pwntools#

pip install pwntools

Web#

wabt#

用于将 Webassmbly 文件转换为 C 语言代码,然后放到 IDA 里分析

wasm2c webassembly.wasm -o web.c -o-h web.h

通过 wasm2c 导出的 C 语言代码本身并不包含可执行入口,同时会缺少运行时,wasm_rt_* 由 wabt 项目里的 wasm-rt-impl.c 提供;而 w2c_wasi__snapshot__preview1_fd_write、w2c_env_0x5Femscripten_memcpy_js 等名字是 wasm2c 为 WASI/Emscripten 导入生成的包装函数,需要自己实现或链接到现成的 “迷你 WASI” 实现。官方示例把这些实现放在一个 imports.c 里,只要返回 0 或调用真正的系统调用即可;否则仍会报 “unknown import”

// imports.c
#include <stddef.h>
#include <stdint.h>
#include "wasm-rt.h"

uint32_t w2c_wasi__snapshot__preview1_fd_write(void* unused, uint32_t fd,
                                               uint32_t iovs, uint32_t iovs_len,
                                               uint32_t nwritten) {
    return 0;
}

void w2c_env_0x5Femscripten_memcpy_js(void* unused) {}
void w2c_env_emscripten_resize_heap(void* unused) {}

手写 main.c 可以通过编译

#include "web.h"
#include <stdio.h>

int main(void) {
    /* 1) 初始化 wasm‑rt 全局运行时 */
    wasm_rt_init();

    /* 2) 实例化模块(不需要完整导入表就传 NULL) */
    struct w2c_webassembly inst;
    wasm2c_webassembly_instantiate(&inst, NULL, NULL);

    /* 3) 运行所有全局构造函数(static ctors) */
    w2c_webassembly_0x5F_wasm_call_ctors(&inst);

    /* 4) 初始化 Emscripten 栈 */
    w2c_webassembly_emscripten_stack_init(&inst);

    /* 5) 调用导出 main(传 argc=0, argv_ptr=0) */
    u32 rc = w2c_webassembly_main(&inst, 0, 0);
    printf("wasm main returned %u\n", rc);

    /* 6) 清理实例和运行时 */
    wasm2c_webassembly_free(&inst);
    wasm_rt_free();
    return 0;
}

编译命令

gcc -O2 -I. -I/usr/include/wabt/wasm2c -DWASM_RT_MALLOC \
    web.c imports.c main.c /usr/share/wabt/wasm2c/wasm-rt-impl.c \
    -lm -o webdemo

数字取证#

Volatility#

内存取证工具

git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3
pip install -r requirements.txt

使用例#

envars 是 Volatility 的一个插件,用于提取和列出内存转储中的环境变量。环境变量包含了系统和用户配置的一些信息,比如路径、系统设置等。

.\volatility -f .\1.raw --profile=Win7SP1x64 envars | grep 'n0wayback'

image

pslist 是 Volatility 中的一个插件,用于列出内存中的所有进程。它通过分析内存中的进程链表,列出所有活动的进程信息,包括进程的 PID、进程名、父进程等。

.\volatility -f .\1.raw --profile=Win7SP1x64 pslist

0xfffffa8001a022a0 mspaint.exe            2052   1028      6      120      1      0 2024-03-04 05:50:22 UTC+0000

0xfffffa8003c68a80 cmd.exe                4188   1028      3      111      1      0 2024-03-04 05:50:26 UTC+0000

0xfffffa800418c060 Code.exe                888   1028     31      696      1      0 2024-03-04 05:52:52 UTC+0000

发现存在 mspaint.exe 进程,进行一个内存 dump

memdump 是 Volatility 中的一个插件,用于提取内存中的特定进程的内存映像。这个插件会根据指定的 PID 将进程的内存内容提取出来。

.\volatility -f .\1.raw --profile=Win7SP1x64 memdump -p 2052 -D ./

consoles 是 Volatility 中的一个插件,用于提取并列出与控制台相关的会话信息。控制台会话指的是命令行工具(如 cmd.exe 或 powershell.exe)的活动会话,Volatility 将列出它们的详细信息。
具体来说,consoles 插件会显示所有在内存中存在的控制台会话的相关数据,包括会话 ID、命令历史、运行的命令等信息。

.\volatility -f .\1.raw --profile=Win7SP1x64 consoles

image

杂项#

jwt.io#

可以在线编码解码 JWT Token 呢

SQL 注入#

ffifdyop#

md5(ffifdyop) = 'or'66�]��!r,��b

在 md5 后可以用此恒真万能口令注入

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。